Firebird a cas/datum v SQL dotazu

Otázka od: Jiri Rocnak

11. 11. 2004 12:11

Ahoj.

Asi lama dotaz, ale potreboval bych ve firebirdu do sql dotazu dostat cas na
serveru.
Pred casem jsem to resil nejakym NOW(), ale to bylo asi na nejakem jinem
serveru.
Na netu hledam jak sileny, ale asi uz nedokazu zadat ani dotaz do
vyhledavace.
Tlaci me totiz cas. Poradte, pls.

Diky, Jiri.


Odpovedá: Milan Tomes

11. 11. 2004 12:20

Select 'NOW' from RDB$DATABASE

S pozdravem

Milan Tomes

> [mailto:delphi-l-owner@clexpert.cz]On Behalf Of Jiri Rocnak
> Sent: Thursday, November 11, 2004 12:02 PM
>
> Asi lama dotaz, ale potreboval bych ve firebirdu do sql dotazu
> dostat cas na
> serveru.


Odpovedá: petr palicka

11. 11. 2004 12:40



Jiri Rocnak wrote:

> Ahoj.
>
> Asi lama dotaz, ale potreboval bych ve firebirdu do sql dotazu dostat cas na
> serveru.
> Pred casem jsem to resil nejakym NOW(), ale to bylo asi na nejakem jinem
> serveru.

pouzij literal 'NOW'.
select cast('NOW' as datetime)... /* nebo jaky je to spravne typ   */

peca


Odpovedá: Jiri Rocnak

12. 11. 2004 11:36

Nejak se mi nedari.
Uz jsem z toho volaaky zmeteny.
Dospel jsem tak daleko, ze bych se spokojil i s casem stanice,
jal jsem se tedy pridat do dotazu parametr a ejhle, zase nic:

with DSet.Params.CreateParam(ftDate,'Datum',ptInput) do asDate := Date;
nebo
with DSet.Params.CreateParam(ftDateTime,'Datum',ptInput) do asDateTime :=
Now;

Vypisuje chybu: Conversion error from string "2004-11-12"

Typy jsou prece spravne. ?????

> pouzij literal 'NOW'.
> select cast('NOW' as datetime)... /* nebo jaky je to spravne typ   */
>
> peca

cast('NOW' as date) taky nejak chybuje  


Odpovedá: Jaroslav Uher

12. 11. 2004 14:12

On 12 Nov 2004 at 11:11, Jiri Rocnak wrote:

> Nejak se mi nedari.
> Uz jsem z toho volaaky zmeteny.
> Dospel jsem tak daleko, ze bych se spokojil i s casem stanice,

za prve: proc stanice?
Tam si muze kazdy nastavit, co chce.
S tim si moc nepomuzes  
Rozhodne doporucuji DateTime ze serveru (SP nebo trigger).

> jal jsem se tedy pridat do dotazu parametr a ejhle, zase nic:
>
> with DSet.Params.CreateParam(ftDate,'Datum',ptInput) do asDate :=
> Date; nebo with DSet.Params.CreateParam(ftDateTime,'Datum',ptInput) do
> asDateTime := Now;
>
> Vypisuje chybu: Conversion error from string "2004-11-12"
>
> Typy jsou prece spravne. ?????

co je DSet ?

u TIBSQL :
   IBSQL1.Params[2].AsDateTime := Now;

neni problem

Jarek Uher


Odpovedá: Jiri Rocnak

12. 11. 2004 15:06

No, uz jsem zjistil vo co go.
V te databazi (strukturu jsem nevytvarel ja) byla polozka, ve ktere je
ulozeno datum typu Numeric(x,y) a proto nejelo to 'now' - nesoulad typu.
Bohuzel z chybove hlasky mi to nebylo zcela jasne.
Jinak dekuji za napady.

 J.